package com.jiegui.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jiegui.common.model.WxChartModel;
import com.jiegui.system.domain.SystemConfig;

/**
 * 系统配置信息Service接口
 *
 * @author ruoyi
 * @date 2021-12-07
 */
public interface ISystemConfigService extends IService<SystemConfig> {
    /**
     * 查询系统配置信息
     *
     * @param id 系统配置信息主键
     * @return 系统配置信息
     */
    public SystemConfig selectSystemConfigById(Long id);

    /**
     * 查询系统配置信息列表
     *
     * @param systemConfig 系统配置信息
     * @return 系统配置信息集合
     */
    public List<SystemConfig> selectSystemConfigList(SystemConfig systemConfig);

    /**
     * 新增系统配置信息
     *
     * @param systemConfig 系统配置信息
     * @return 结果
     */
    public int insertSystemConfig(SystemConfig systemConfig);

    /**
     * 修改系统配置信息
     *
     * @param systemConfig 系统配置信息
     * @return 结果
     */
    public int updateSystemConfig(SystemConfig systemConfig);

    /**
     * 批量删除系统配置信息
     *
     * @param ids 需要删除的系统配置信息主键集合
     * @return 结果
     */
    public int deleteSystemConfigByIds(Long[] ids);

    /**
     * 删除系统配置信息信息
     *
     * @param id 系统配置信息主键
     * @return 结果
     */
    public int deleteSystemConfigById(Long id);

    /**
     * 根据key，获取value的Object对象
     *
     * @param key   key
     * @param clazz Object对象
     */
    <T> T getConfigObject(String key, Class<T> clazz,boolean isRedis);

    /**
     * @param key:  key
     * @return WxChartModel
     * @Author wuqicheng
     * @Description Description
     * @Date 9:40 AM 09/12/2021
     **/
    WxChartModel queryWxChart(String key);

}
